/////////////////////////////////////////////////////////////////////////////
// Purpose:     String formating similar to sprintf
// Author:      Jesus Gonzalez
// Modified by:
// Copyright:   (c) 2003-2013 Jesus Gonzalez <jgonzalez@gdr-sistemas.com>
// License:     BSD License
/////////////////////////////////////////////////////////////////////////////

#ifndef _SMARTLIB_FORMATSTRING_H_
#define _SMARTLIB_FORMATSTRING_H_

/**
 * \file
 * String formating similar to sprintf.
 */

#include "SmartLib/ByteArray.h"
#include <stdarg.h>

std::string vFormatString( const char *fmt, va_list ap );
std::string FormatString( const char *fmt, ... );

std::string FormatHexString( const ByteArray& data, std::string indent, std::string separator,
                             unsigned int bytes_per_line = 16 );

std::string FormatHexString( const ByteArray& data, unsigned int indent = 0, unsigned int separator = 1,
                             unsigned int bytes_per_line = 16 );

#endif // FORMATSTRING_H_
